/**
 * @模块名：demo
 * @包名：com.example.sjms.strategyAndSimpleFactory
 * @描述：Context.java
 * @版本：1.0
 * @创建人：likai
 * @创建时间：2020年10月22日下午5:26:00
 */
package com.example.sjms.strategyAndSimpleFactory;

import com.example.sjms.strategy.ConcreteStrategyA;
import com.example.sjms.strategy.ConcreteStrategyB;
import com.example.sjms.strategy.ConcreteStrategyC;
import com.example.sjms.strategy.Strategy;

/**
 * @模块名：demo
 * @包名：     com.example.sjms.strategyAndSimpleFactory
 * @类名称：Context
 * @类描述：
 * @版本：      1.0
 * @创建人：likai
 * @创建时间：2020年10月22日下午5:26:00
 */
public class Context {

	Strategy strategy;

	public Context(String strategyType) {
		switch (strategyType) {
		case "实现A":
			strategy = new ConcreteStrategyA();
			break;
		case "实现B":
			strategy = new ConcreteStrategyB();
			break;
		case "实现C":
			strategy = new ConcreteStrategyC();
			break;
		default:
			break;
		}
	}

	public void contextInterface() {
		strategy.algorithmInterface();
	}
}
